package com.ruoyi.ora.service;

import com.ruoyi.ora.domain.VoiceStory;

import java.util.List;

/**
 * 录音故事Service接口
 * 
 * @author liuwp
 * @date 2025-04-10
 */
public interface IVoiceStoryService 
{
    /**
     * 查询录音故事
     * 
     * @param id 录音故事主键
     * @return 录音故事
     */
    public VoiceStory selectVoiceStoryById(Long id);

    /**
     * 查询录音故事列表
     * 
     * @param voiceStory 录音故事
     * @return 录音故事集合
     */
    public List<VoiceStory> selectVoiceStoryList(VoiceStory voiceStory);

    public List<VoiceStory> selectVoiceStoryListCollection(VoiceStory voiceStory);

    public List<VoiceStory> selectVoiceStoryListDeviceUser(VoiceStory voiceStory);

    /**
     * 根据业务主键查询一条记录：录音故事
     *
     * @param voiceStory 录音故事
     * @return 录音故事
     */
    public VoiceStory selectOneVoiceStory(VoiceStory voiceStory);

    /**
     * 新增录音故事
     * 
     * @param voiceStory 录音故事
     * @return 结果
     */
    public int insertVoiceStory(VoiceStory voiceStory);

    /**
     * 修改录音故事
     * 
     * @param voiceStory 录音故事
     * @return 结果
     */
    public int updateVoiceStory(VoiceStory voiceStory);

    /**
     * 修改录音故事
     *
     * @param voiceStory 录音故事
     * @param voiceStory 录音故事条件
     * @return 结果
     */
    public int updateVoiceStoryCondition(VoiceStory voiceStory, VoiceStory voiceStoryCondition);

    /**
     * 批量删除录音故事
     * 
     * @param ids 需要删除的录音故事主键集合
     * @return 结果
     */
    public int deleteVoiceStoryByIds(Long[] ids);

    /**
     * 删除录音故事信息
     * 
     * @param id 录音故事主键
     * @return 结果
     */
    public int deleteVoiceStoryById(Long id);

    /**
     * 条件删除录音故事
     *
     * @param voiceStory 录音故事
     * @return 结果
     */
    public int deleteVoiceStoryByCondition(VoiceStory voiceStory);
}
